package ldh.im.business.pojo.where;

/**
 * @author: ldh
 * @date: 2021-07-04 17:02:34
 */

import ldh.im.business.pojo.CmsArticle;

import java.util.Date;


public class CmsArticleWhere extends CmsArticle implements ldh.common.Orderable,ldh.common.Pageable{

	private long start;
	private int length = 10;
	private long pageNo;
	private int pageSize = length;
	private long end = start + pageSize;
	private String order;
	
	/**
	 * 开始时间： 创建时间
	 */
	private Date startCreateTime;
	
	/**
	 * 结束时间： 创建时间
	 */
	private Date endCreateTime;
	
	/**
	 * 开始时间： 更新时间
	 */
	private Date startUpdateTime;
	
	/**
	 * 结束时间： 更新时间
	 */
	private Date endUpdateTime;
	
	
	@Override
	public long getStart() {
		return start;
	}
	
	@Override
	public int getLength() {
		return length;
	}
	
	@Override
	public long getEnd() {
		return end;
	}

	@Override
	public long getPageNo() {
		return pageNo;
	}

    @Override
	public void setPageNo(long pageNo) {
		this.pageNo = pageNo;
		setPageSize(this.pageSize);
	}

	@Override
	public int getPageSize() {
		return pageSize;
	}

	@Override
	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
		start = (pageNo - 1) * pageSize;
		if (start < 0) {
			start = 0;
		}
		length = pageSize;
		end = start + pageSize;
	}

	@Override
	public void setOrder(String order) {
		this.order = order;
	}

	@Override
	public String getOrder() {
		return order;
	}
	
	/**
	 * 设置开始时间： 创建时间
	 */
	public void setStartCreateTime(Date startCreateTime) {
		this.startCreateTime = startCreateTime;
	}
	
	/**
	 * 获取开始时间： 创建时间
	 */
	public Date getStartCreateTime() {
		return this.startCreateTime;
	}
	
	/**
	 * 设置结束时间： 创建时间
	 */
	public void setEndCreateTime(Date endCreateTime) {
		this.endCreateTime = endCreateTime;
	}
	
	/**
	 * 获取结束时间： 创建时间
	 */
	public Date getEndCreateTime() {
		return this.endCreateTime;
	}
	/**
	 * 设置开始时间： 更新时间
	 */
	public void setStartUpdateTime(Date startUpdateTime) {
		this.startUpdateTime = startUpdateTime;
	}
	
	/**
	 * 获取开始时间： 更新时间
	 */
	public Date getStartUpdateTime() {
		return this.startUpdateTime;
	}
	
	/**
	 * 设置结束时间： 更新时间
	 */
	public void setEndUpdateTime(Date endUpdateTime) {
		this.endUpdateTime = endUpdateTime;
	}
	
	/**
	 * 获取结束时间： 更新时间
	 */
	public Date getEndUpdateTime() {
		return this.endUpdateTime;
	}
}

